[INFO] cloning repository https://github.com/dmpierre/ark-nmerkle-trees
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dmpierre/ark-nmerkle-trees" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdmpierre%2Fark-nmerkle-trees", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdmpierre%2Fark-nmerkle-trees'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f3df688ae94d43dc9a217b545ee2bee11c41da96
[INFO] checking dmpierre/ark-nmerkle-trees against master#ff647322379c48947c196639599067665ff9eb88 for pr-151539-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdmpierre%2Fark-nmerkle-trees" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/dmpierre/ark-nmerkle-trees
[INFO] finished tweaking git repo https://github.com/dmpierre/ark-nmerkle-trees
[INFO] tweaked toml for git repo https://github.com/dmpierre/ark-nmerkle-trees written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dmpierre/ark-nmerkle-trees on toolchain ff647322379c48947c196639599067665ff9eb88
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ff647322379c48947c196639599067665ff9eb88" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dmpierre/ark-nmerkle-trees already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ff647322379c48947c196639599067665ff9eb88" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating git repository `https://github.com/arkworks-rs/algebra`
[INFO] [stderr]     Updating git repository `https://github.com/winderica/crypto-primitives`
[INFO] [stderr]     Updating git repository `https://github.com/arkworks-rs/algebra`
[INFO] [stderr]     Updating git repository `https://github.com/winderica/r1cs-std`
[INFO] [stderr]     Updating git repository `https://github.com/arkworks-rs/std`
[INFO] [stderr]     Updating git repository `https://github.com/arkworks-rs/crypto-primitives`
[INFO] [stderr]     Updating git repository `https://github.com/arkworks-rs/r1cs-std`
[INFO] [stderr]     Updating git repository `https://github.com/arkworks-rs/snark`
[INFO] [stderr] warning: patch `ark-crypto-primitives v0.5.0 (https://github.com/winderica/crypto-primitives?rev=af003fc#af003fc6)` was not used in the crate graph
[INFO] [stderr]   |
[INFO] [stderr]   = help: perhaps you meant one of the following:
[INFO] [stderr]           	https://github.com/arkworks-rs/crypto-primitives
[INFO] [stderr] warning: patch `ark-r1cs-std v0.5.0 (https://github.com/winderica/r1cs-std?rev=ae8283a#ae8283ad)` was not used in the crate graph
[INFO] [stderr]   |
[INFO] [stderr]   = help: perhaps you meant one of the following:
[INFO] [stderr]           	https://github.com/arkworks-rs/r1cs-std
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] fa2619edc1d1f825c8cbe12bee73cb63c7b8dc6260d2fd7dd384f56074b308f9
[INFO] running `Command { std: "docker" "start" "fa2619edc1d1f825c8cbe12bee73cb63c7b8dc6260d2fd7dd384f56074b308f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fa2619edc1d1f825c8cbe12bee73cb63c7b8dc6260d2fd7dd384f56074b308f9" "/opt/rustwide/cargo-home/bin/cargo" "+ff647322379c48947c196639599067665ff9eb88" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fa2619edc1d1f825c8cbe12bee73cb63c7b8dc6260d2fd7dd384f56074b308f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fa2619edc1d1f825c8cbe12bee73cb63c7b8dc6260d2fd7dd384f56074b308f9" "/opt/rustwide/cargo-home/bin/cargo" "+ff647322379c48947c196639599067665ff9eb88" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: patch `ark-crypto-primitives v0.5.0 (https://github.com/winderica/crypto-primitives?rev=af003fc#af003fc6)` was not used in the crate graph
[INFO] [stderr]   |
[INFO] [stderr]   = help: perhaps you meant one of the following:
[INFO] [stderr]           	https://github.com/arkworks-rs/crypto-primitives
[INFO] [stderr] warning: patch `ark-r1cs-std v0.5.0 (https://github.com/winderica/r1cs-std?rev=ae8283a#ae8283ad)` was not used in the crate graph
[INFO] [stderr]   |
[INFO] [stderr]   = help: perhaps you meant one of the following:
[INFO] [stderr]           	https://github.com/arkworks-rs/r1cs-std
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking tracing-core v0.1.35
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking indexmap v2.12.1
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking ark-std v0.5.0 (https://github.com/arkworks-rs/std#1693bc56)
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]    Compiling enum-ordinalize-derive v4.3.2
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling ark-serialize-derive v0.5.0 (https://github.com/arkworks-rs/algebra#598a5fba)
[INFO] [stderr]    Compiling ark-ff-macros v0.5.0 (https://github.com/arkworks-rs/algebra#598a5fba)
[INFO] [stderr]    Compiling ark-ff-asm v0.5.0 (https://github.com/arkworks-rs/algebra#598a5fba)
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling ark-crypto-primitives-macros v0.5.0 (https://github.com/arkworks-rs/crypto-primitives#39fb17bd)
[INFO] [stderr]     Checking ark-serialize v0.5.0 (https://github.com/arkworks-rs/algebra#598a5fba)
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]    Compiling enum-ordinalize v4.3.2
[INFO] [stderr]    Compiling educe v0.6.0
[INFO] [stderr]     Checking merlin v3.0.0
[INFO] [stderr]     Checking tracing v0.1.43
[INFO] [stderr]     Checking ark-ff v0.5.0 (https://github.com/arkworks-rs/algebra#598a5fba)
[INFO] [stderr]     Checking ark-poly v0.5.0
[INFO] [stderr]     Checking ark-poly v0.5.0 (https://github.com/arkworks-rs/algebra#598a5fba)
[INFO] [stderr]     Checking ark-relations v0.5.1 (https://github.com/arkworks-rs/snark#845ce9d5)
[INFO] [stderr]     Checking ark-ec v0.5.0
[INFO] [stderr]     Checking ark-ec v0.5.0 (https://github.com/arkworks-rs/algebra#598a5fba)
[INFO] [stderr]     Checking ark-snark v0.5.1 (https://github.com/arkworks-rs/snark#845ce9d5)
[INFO] [stderr]     Checking ark-r1cs-std v0.5.0 (https://github.com/arkworks-rs/r1cs-std#3b12258d)
[INFO] [stderr]     Checking ark-bn254 v0.5.0 (https://github.com/arkworks-rs/algebra#598a5fba)
[INFO] [stderr]     Checking ark-crypto-primitives v0.5.0 (https://github.com/arkworks-rs/crypto-primitives#39fb17bd)
[INFO] [stderr]     Checking nmerkle-trees v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CRHScheme` and `TwoToOneCRHScheme`
[INFO] [stdout]  --> src/lib.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ark_crypto_primitives::crh::{CRHScheme, TwoToOneCRHScheme};
[INFO] [stdout]   |                                  ^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ark_crypto_primitives::merkle_tree::DigestConverter`
[INFO] [stdout]  --> src/lib.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ark_crypto_primitives::merkle_tree::DigestConverter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ark_crypto_primitives::merkle_tree::constraints::ConfigGadget`
[INFO] [stdout]  --> src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ark_crypto_primitives::merkle_tree::constraints::ConfigGadget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `merkle_tree::Config`
[INFO] [stdout]  --> src/lib.rs:9:29
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ark_crypto_primitives::{merkle_tree::Config, Error};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PrimeField`
[INFO] [stdout]   --> src/lib.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ark_ff::{PrimeField, Zero};
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ark_r1cs_std::alloc::AllocVar`
[INFO] [stdout]   --> src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ark_r1cs_std::alloc::AllocVar;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ark_r1cs_std::prelude::Boolean`
[INFO] [stdout]   --> src/lib.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ark_r1cs_std::prelude::Boolean;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cfg_into_iter` and `cfg_iter_mut`
[INFO] [stdout]   --> src/lib.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ark_std::{cfg_into_iter, cfg_iter_mut};
[INFO] [stdout]    |               ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/sparse/mod.rs:460:22
[INFO] [stdout]     |
[INFO] [stdout] 460 |         for level in (0..self.auth_path.len()) {
[INFO] [stdout]     |                      ^                       ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 460 -         for level in (0..self.auth_path.len()) {
[INFO] [stdout] 460 +         for level in 0..self.auth_path.len()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]  --> src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::marker::PhantomData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CRHScheme` and `TwoToOneCRHScheme`
[INFO] [stdout]  --> src/lib.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ark_crypto_primitives::crh::{CRHScheme, TwoToOneCRHScheme};
[INFO] [stdout]   |                                  ^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ark_crypto_primitives::merkle_tree::DigestConverter`
[INFO] [stdout]  --> src/lib.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ark_crypto_primitives::merkle_tree::DigestConverter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ark_crypto_primitives::merkle_tree::constraints::ConfigGadget`
[INFO] [stdout]  --> src/lib.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ark_crypto_primitives::merkle_tree::constraints::ConfigGadget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `merkle_tree::Config`
[INFO] [stdout]  --> src/lib.rs:9:29
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ark_crypto_primitives::{merkle_tree::Config, Error};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PrimeField`
[INFO] [stdout]   --> src/lib.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ark_ff::{PrimeField, Zero};
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ark_r1cs_std::alloc::AllocVar`
[INFO] [stdout]   --> src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ark_r1cs_std::alloc::AllocVar;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ark_r1cs_std::prelude::Boolean`
[INFO] [stdout]   --> src/lib.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ark_r1cs_std::prelude::Boolean;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cfg_into_iter` and `cfg_iter_mut`
[INFO] [stdout]   --> src/lib.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ark_std::{cfg_into_iter, cfg_iter_mut};
[INFO] [stdout]    |               ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/sparse/mod.rs:460:22
[INFO] [stdout]     |
[INFO] [stdout] 460 |         for level in (0..self.auth_path.len()) {
[INFO] [stdout]     |                      ^                       ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 460 -         for level in (0..self.auth_path.len()) {
[INFO] [stdout] 460 +         for level in 0..self.auth_path.len()  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::marker::PhantomData`
[INFO] [stdout]    --> src/lib.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |     use std::marker::PhantomData;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ark_bn254::Fr`
[INFO] [stdout]    --> src/lib.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |     use ark_bn254::Fr;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Absorb`, `CRH`, `IdentityDigestConverter`, `MerkleTree`, and `TwoToOneCRH`
[INFO] [stdout]    --> src/lib.rs:136:25
[INFO] [stdout]     |
[INFO] [stdout] 136 |         crh::poseidon::{TwoToOneCRH, CRH},
[INFO] [stdout]     |                         ^^^^^^^^^^^  ^^^
[INFO] [stdout] 137 |         merkle_tree::{IdentityDigestConverter, MerkleTree},
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |             Absorb,
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sparse/mod.rs:442:13
[INFO] [stdout]     |
[INFO] [stdout] 442 |         let mut leaves = self.leaf_siblings_hashes.clone();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_root` is never used
[INFO] [stdout]   --> src/lib.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) fn is_root(index: usize) -> bool {
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `n_non_leaf_nodes` is never used
[INFO] [stdout]    --> src/lib.rs:123:15
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub(crate) fn n_non_leaf_nodes(arity: usize, n_leaf_nodes: usize) -> usize {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]   --> src/sparse/mod.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub type LeafParam<P: Config> = <P::LeafHash as CRHScheme>::Parameters;
[INFO] [stdout]    |                       ^^^^^^ will not be checked at usage sites of the type alias
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]            see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]    = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout]    = note: `#[warn(type_alias_bounds)]` on by default
[INFO] [stdout] help: remove this bound
[INFO] [stdout]    |
[INFO] [stdout] 24 - pub type LeafParam<P: Config> = <P::LeafHash as CRHScheme>::Parameters;
[INFO] [stdout] 24 + pub type LeafParam<P> = <P::LeafHash as CRHScheme>::Parameters;
[INFO] [stdout]    |
[INFO] [stdout] help: fully qualify this associated type
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub type LeafParam<P: Config> = <<P as /* Trait */>::LeafHash as CRHScheme>::Parameters;
[INFO] [stdout]    |                                  +  +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]   --> src/sparse/mod.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub type NToOneParam<P: Config, SP: NArySparseConfig<P>> =
[INFO] [stdout]    |                         ^^^^^^      ^^^^^^^^^^^^^^^^^^^ will not be checked at usage sites of the type alias
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]            see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]    = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout] help: remove these bounds
[INFO] [stdout]    |
[INFO] [stdout] 25 - pub type NToOneParam<P: Config, SP: NArySparseConfig<P>> =
[INFO] [stdout] 25 + pub type NToOneParam<P, SP> =
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]   --> src/sparse/constraints.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |     SP: NArySparseConfig<P>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 86 |     SPG: NArySparseConfigGadget<P, PG, F, SP>,
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ will not be checked at usage sites of the type alias
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]            see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]    = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout] help: remove these bounds
[INFO] [stdout]    |
[INFO] [stdout] 85 ~     SP,
[INFO] [stdout] 86 ~     SPG,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sparse/mod.rs:442:13
[INFO] [stdout]     |
[INFO] [stdout] 442 |         let mut leaves = self.leaf_siblings_hashes.clone();
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_root` is never used
[INFO] [stdout]   --> src/lib.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) fn is_root(index: usize) -> bool {
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]   --> src/sparse/mod.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub type LeafParam<P: Config> = <P::LeafHash as CRHScheme>::Parameters;
[INFO] [stdout]    |                       ^^^^^^ will not be checked at usage sites of the type alias
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]            see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]    = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout]    = note: `#[warn(type_alias_bounds)]` on by default
[INFO] [stdout] help: remove this bound
[INFO] [stdout]    |
[INFO] [stdout] 24 - pub type LeafParam<P: Config> = <P::LeafHash as CRHScheme>::Parameters;
[INFO] [stdout] 24 + pub type LeafParam<P> = <P::LeafHash as CRHScheme>::Parameters;
[INFO] [stdout]    |
[INFO] [stdout] help: fully qualify this associated type
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub type LeafParam<P: Config> = <<P as /* Trait */>::LeafHash as CRHScheme>::Parameters;
[INFO] [stdout]    |                                  +  +++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]   --> src/sparse/mod.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub type NToOneParam<P: Config, SP: NArySparseConfig<P>> =
[INFO] [stdout]    |                         ^^^^^^      ^^^^^^^^^^^^^^^^^^^ will not be checked at usage sites of the type alias
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]            see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]    = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout] help: remove these bounds
[INFO] [stdout]    |
[INFO] [stdout] 25 - pub type NToOneParam<P: Config, SP: NArySparseConfig<P>> =
[INFO] [stdout] 25 + pub type NToOneParam<P, SP> =
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: bounds on generic parameters in type aliases are not enforced
[INFO] [stdout]   --> src/sparse/constraints.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |     SP: NArySparseConfig<P>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 86 |     SPG: NArySparseConfigGadget<P, PG, F, SP>,
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ will not be checked at usage sites of the type alias
[INFO] [stdout]    |
[INFO] [stdout]    = note: this is a known limitation of the type checker that may be lifted in a future edition.
[INFO] [stdout]            see issue #112792 <https://github.com/rust-lang/rust/issues/112792> for more information
[INFO] [stdout]    = help: add `#![feature(lazy_type_alias)]` to the crate attributes to enable the desired semantics
[INFO] [stdout] help: remove these bounds
[INFO] [stdout]    |
[INFO] [stdout] 85 ~     SP,
[INFO] [stdout] 86 ~     SPG,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.68s
[INFO] running `Command { std: "docker" "inspect" "fa2619edc1d1f825c8cbe12bee73cb63c7b8dc6260d2fd7dd384f56074b308f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fa2619edc1d1f825c8cbe12bee73cb63c7b8dc6260d2fd7dd384f56074b308f9", kill_on_drop: false }`
[INFO] [stdout] fa2619edc1d1f825c8cbe12bee73cb63c7b8dc6260d2fd7dd384f56074b308f9
